//
//  SearchHistoryModel.swift
//  Motion
//
//  Created by 悦月越悦 on 2021/3/7.
//

import Foundation

class SearchCourseModel: ObservableObject{
    @Published var searchCTexts : [String] = []
    
    func getSearchCTexts(){
        searchCTexts = getSearchTexts("C");
        print("searchCTexts=\(searchCTexts)")
    }
    
    func setSearchCText(_ searchText:String){
        setSearchText(searchText,"C")
        getSearchCTexts()
    }
    
    func clearSearchCText(){
        clearSearchTexts("C")
        getSearchCTexts()
    }
}


//通用方法
func setLocal<T>(_ key:String,_ value: T){
    let defaults = UserDefaults.standard
    defaults.set(value, forKey: key)
}

//searchType: C表示课程，U表示用户
//课程搜索记录searchCs
func getSearchTexts(_ searchType:String)->[String]{
    //得到存储在本地的查找文本数组
    let defaults = UserDefaults.standard
    return defaults.object(forKey: "search\(searchType)s") as? [String] ?? []
}

//将文本存入本地
func setSearchText(_ searchText:String,_ searchType:String){
    //获取到本地的文本数组
    var searchTexts: [String] = getSearchTexts(searchType);

    //查看文本数组中是否存在该项，如果没有则存入，如果有不存
    if(searchTexts.contains(searchText)) {return}
    
    searchTexts.append(searchText)
    setLocal("search\(searchType)s",searchTexts )
}

//清空所有的搜索结果【】
func clearSearchTexts(_ searchType:String){
    setLocal("search\(searchType)s",[])
}
